import java.util.ArrayList;
import java.util.List;
import java.util.Random;

/**
 * 加减法口算练习系统-v0.1
 * 功能：生成50道100以内的加法/减法算式（无答案）
 */
public class CalculationSystemV01 {
    // 常量配置（题数、数字范围）
    private static final int TOTAL_QUESTIONS = 50;
    private static final int MAX_NUMBER = 99; // 100以内（0-99）

    public static void main(String[] args) {
        // 系统标题
        System.out.println("加减法口算练习系统-v0.1");
        System.out.println("=".repeat(30));

        // 生成算式列表
        List<String> exercises = generateExercises();

        // 输出算式（每行1道）
        printExercises(exercises);
    }

    /**
     * 生成指定数量的100以内加减算式
     * @return 算式列表（格式："a ± b = "）
     */
    private static List<String> generateExercises() {
        List<String> exercises = new ArrayList<>(TOTAL_QUESTIONS);
        Random random = new Random();

        for (int i = 0; i < TOTAL_QUESTIONS; i++) {
            // 生成两个100以内的随机数
            int num1 = random.nextInt(MAX_NUMBER + 1); // 0-99（含边界）
            int num2 = random.nextInt(MAX_NUMBER + 1);

            // 随机选择运算符（0=加法，1=减法）
            char operator = random.nextInt(2) == 0 ? '+' : '-';

            // 拼接算式字符串
            String exercise = String.format("%d %c %d = ", num1, operator, num2);
            exercises.add(exercise);
        }
        return exercises;
    }

    /**
     * 输出算式（每行1道）
     * @param exercises 算式列表
     */
    private static void printExercises(List<String> exercises) {
        for (String exercise : exercises) {
            System.out.println(exercise);
        }
    }
}